package com.junzhiit.nengji.cms.service;

import java.util.Map;

import org.springframework.web.bind.annotation.PathVariable;

import com.junzhiit.nengji.bo.UserBO;
import com.junzhiit.nengji.cms.web.vo.DataTablesParamVO;
import com.junzhiit.nengji.cms.web.vo.ResultVO;
import com.junzhiit.nengji.cms.web.vo.UserEditVO;
import com.junzhiit.nengji.cms.web.vo.UserVipVO;

public interface UserService {

	/**
	 * 
	 * TODO 查询用户列表
	 * 
	 * @author PeterMo
	 * @time 2018年1月30日 下午1:58:58
	 * @return Map<String,Object>
	 */
	public Map<String, Object> findAll(DataTablesParamVO dtp, UserBO userBO);
	
	/**
	 * 
	 * TODO 根据手机号码查询用户
	 * @author FEB
	 * @time 2018年5月17日 上午10:18:25
	 * @return User
	 */
	public ResultVO findByMobilePhone(String phone);
	
	/**
	 * 
	 * TODO 发送手机绑定验证码
	 * @author FEB
	 * @time 2018年5月17日 上午11:17:22
	 * @return ResultVO
	 */
	public ResultVO sendUserBindCode(String id);
	
	/**
	 * 
	 * TODO 绑定用户
	 * @author FEB
	 * @time 2018年5月18日 下午3:55:28
	 * @return ResultVO
	 */
	public ResultVO shopBindUser(@PathVariable String id,String code,String sessionId);
	
	/**
	 * 
	 * TODO 获取绑定用户信息
	 * @author FEB
	 * @time 2018年5月18日 下午3:55:24
	 * @return ResultVO
	 */
	public ResultVO getShopBindUser(String sessionId);
	
	/**
	 * 
	 * TODO 解绑用户
	 * @author FEB
	 * @time 2018年5月21日 上午11:09:06
	 * @return ResultVO
	 */
	public ResultVO unBoundUser(String id,String sessionId,String code);
	
	/**
	 * 
	 * TODO
	 * @author FEB
	 * @time 2018年9月5日 上午10:14:48
	 * @return ResultVO
	 */
	public ResultVO edit(UserEditVO userEditVO);
	
	/**
	 * 
	 * TODO 修改用户身份
	 * @author Zaki
	 * @time 2018年9月29日 下午2:04:00
	 * @return ResultVO
	 */
	public ResultVO updateUserIdentity(UserVipVO userVipVO);
	
}
